[INFO] cloning repository https://github.com/arthasyou/stm32
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arthasyou/stm32" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farthasyou%2Fstm32", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farthasyou%2Fstm32'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a20d9a71ceaa36dda64a990de89d8c4c4f2a651c
[INFO] fixing arthasyou/stm32 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farthasyou%2Fstm32" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/arthasyou/stm32
[INFO] finished tweaking git repo https://github.com/arthasyou/stm32
[INFO] tweaked toml for git repo https://github.com/arthasyou/stm32 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/arthasyou/stm32 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/arthasyou/stm32 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded defmt v1.0.1
[INFO] [stderr]   Downloaded panic-probe v1.0.0
[INFO] [stderr]   Downloaded static_cell v2.1.1
[INFO] [stderr]   Downloaded defmt-macros v1.0.1
[INFO] [stderr]   Downloaded embassy-time v0.5.0
[INFO] [stderr]   Downloaded embassy-net v0.7.1
[INFO] [stderr]   Downloaded embedded-nal v0.9.0
[INFO] [stderr]   Downloaded defmt-rtt v1.1.0
[INFO] [stderr]   Downloaded embassy-embedded-hal v0.5.0
[INFO] [stderr]   Downloaded embassy-usb-driver v0.2.0
[INFO] [stderr]   Downloaded embassy-time-driver v0.2.1
[INFO] [stderr]   Downloaded embedded-nal-async v0.8.0
[INFO] [stderr]   Downloaded sdio-host v0.9.0
[INFO] [stderr]   Downloaded block-device-driver v0.2.0
[INFO] [stderr]   Downloaded embassy-executor-macros v0.7.0
[INFO] [stderr]   Downloaded defmt v0.3.100
[INFO] [stderr]   Downloaded stm32-fmc v0.3.2
[INFO] [stderr]   Downloaded embassy-usb-synopsys-otg v0.3.1
[INFO] [stderr]   Downloaded embassy-hal-internal v0.3.0
[INFO] [stderr]   Downloaded embassy-executor v0.9.1
[INFO] [stderr]   Downloaded smoltcp v0.12.0
[INFO] [stderr]   Downloaded embassy-stm32 v0.4.0
[INFO] [stderr]   Downloaded stm32-metapac v18.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f
[INFO] running `Command { std: "docker" "start" "c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling defmt v1.0.1
[INFO] [stderr]    Compiling defmt-macros v1.0.1
[INFO] [stderr]     Checking nb v1.1.0
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]    Compiling cortex-m-rt v0.7.5
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling embedded-io-async v0.6.1
[INFO] [stderr]     Checking embedded-io v0.6.1
[INFO] [stderr]     Checking vcell v0.1.3
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]     Checking nb v0.1.3
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking bitfield v0.13.2
[INFO] [stderr]     Checking volatile-register v0.2.2
[INFO] [stderr]    Compiling embassy-time-driver v0.2.1
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]     Checking embedded-hal v0.2.7
[INFO] [stderr]    Compiling embedded-hal-async v1.0.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]     Checking embedded-hal v1.0.0
[INFO] [stderr]    Compiling embassy-sync v0.7.2
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling stm32-metapac v18.0.0
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling embassy-hal-internal v0.3.0
[INFO] [stderr]    Compiling embassy-time-queue-utils v0.3.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling smoltcp v0.12.0
[INFO] [stderr]     Checking embassy-executor-timer-queue v0.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]     Checking embedded-storage v0.3.1
[INFO] [stderr]     Checking aligned v0.4.2
[INFO] [stderr]     Checking embassy-usb-driver v0.2.0
[INFO] [stderr]     Checking embedded-storage-async v0.4.1
[INFO] [stderr]     Checking embedded-nal v0.9.0
[INFO] [stderr]    Compiling defmt-rtt v1.1.0
[INFO] [stderr]     Checking managed v0.8.0
[INFO] [stderr]     Checking embassy-futures v0.1.2
[INFO] [stderr]    Compiling panic-probe v1.0.0
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling embassy-executor v0.9.1
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]     Checking const-default v1.0.0
[INFO] [stderr]    Compiling heapless v0.9.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking embedded-nal-async v0.8.0
[INFO] [stderr]     Checking block-device-driver v0.2.0
[INFO] [stderr]     Checking embedded-hal-nb v1.0.0
[INFO] [stderr]     Checking stm32-fmc v0.3.2
[INFO] [stderr]     Checking embedded-can v0.4.1
[INFO] [stderr]     Checking sdio-host v0.9.0
[INFO] [stderr]     Checking linked_list_allocator v0.10.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking static_cell v2.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling svgbobdoc v0.3.0
[INFO] [stderr]     Checking rlsf v0.2.1
[INFO] [stderr]     Checking embedded-alloc v0.6.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.7.5
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling defmt-parser v1.0.0
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling embassy-executor-macros v0.7.0
[INFO] [stderr]    Compiling embassy-stm32 v0.4.0
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]     Checking defmt v0.3.100
[INFO] [stderr]     Checking embassy-time v0.5.0
[INFO] [stderr]     Checking embassy-net-driver v0.2.0
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]     Checking embassy-usb-synopsys-otg v0.3.1
[INFO] [stderr]     Checking embassy-embedded-hal v0.5.0
[INFO] [stderr]    Compiling stm32 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking embassy-net v0.7.1
[INFO] [stdout] error: `#[panic_handler]` function required, but not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32` (example "test_codec") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused imports: `CodecError`, `DecodedPacket`, and `PacketCodec`
[INFO] [stdout]  --> src/net/mod.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use codec::{CodecError, DecodedPacket, PacketCodec};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `connection::TcpError`
[INFO] [stdout]   --> src/net/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use connection::TcpError;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PacketError`, `PacketHeader`, `PacketType`, and `Packet`
[INFO] [stdout]   --> src/net/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use packet::{Packet, PacketError, PacketHeader, PacketType};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Router` and `example_handler`
[INFO] [stdout]   --> src/net/mod.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use router::{example_handler, Router};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpServerConfig` and `TcpServer`
[INFO] [stdout]   --> src/net/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use tcp_server::{TcpServer, TcpServerConfig};
[INFO] [stdout]    |                      ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mock_button::*`
[INFO] [stdout]   --> src/drivers/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use mock_button::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mock_hw::*`
[INFO] [stdout]   --> src/drivers/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use mock_hw::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `#[panic_handler]` function required, but not found
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CodecError`, `DecodedPacket`, and `PacketCodec`
[INFO] [stdout]  --> src/net/mod.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use codec::{CodecError, DecodedPacket, PacketCodec};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `connection::TcpError`
[INFO] [stdout]   --> src/net/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use connection::TcpError;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PacketError`, `PacketHeader`, `PacketType`, and `Packet`
[INFO] [stdout]   --> src/net/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use packet::{Packet, PacketError, PacketHeader, PacketType};
[INFO] [stdout]    |                  ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Router` and `example_handler`
[INFO] [stdout]   --> src/net/mod.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use router::{example_handler, Router};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpServerConfig` and `TcpServer`
[INFO] [stdout]   --> src/net/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use tcp_server::{TcpServer, TcpServerConfig};
[INFO] [stdout]    |                      ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mock_button::*`
[INFO] [stdout]   --> src/drivers/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use mock_button::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mock_hw::*`
[INFO] [stdout]   --> src/drivers/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use mock_hw::*;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32` (bin "stm32") due to 2 previous errors; 7 warnings emitted
[INFO] [stdout] warning: variants `SystemError`, `BufferFull`, `NetworkError`, and `Timeout` are never constructed
[INFO] [stdout]   --> src/error.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     SystemError,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     BufferFull,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     /// 网络错误
[INFO] [stdout] 19 |     NetworkError,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 20 |     /// 超时
[INFO] [stdout] 21 |     Timeout,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `encode` and `encode_simple` are never used
[INFO] [stdout]    --> src/net/codec.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl PacketCodec {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn encode(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn encode_simple(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TcpError` is never used
[INFO] [stdout]   --> src/net/connection.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum TcpError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_connection` is never used
[INFO] [stdout]   --> src/net/connection.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub async fn handle_connection<'a>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_pong` is never used
[INFO] [stdout]    --> src/net/connection.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | async fn send_pong(socket: &mut TcpSocket<'_>) -> Result<(), TcpError> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_response` is never used
[INFO] [stdout]    --> src/net/connection.rs:127:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | async fn send_response(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `to_bytes` are never used
[INFO] [stdout]   --> src/net/packet.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl PacketHeader {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn new(packet_type: PacketType, seq: u8, payload_len: u16) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn to_bytes(&self) -> [u8; HEADER_LEN] {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/net/packet.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl<'a> Packet<'a> {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 146 |     /// 创建新数据包
[INFO] [stdout] 147 |     pub fn new(packet_type: PacketType, seq: u8, payload: &'a [u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BufferTooSmall` is never constructed
[INFO] [stdout]    --> src/net/packet.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum PacketError {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 184 |     BufferTooSmall,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ROUTES` is never used
[INFO] [stdout]  --> src/net/router.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const MAX_ROUTES: usize = 32;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `HandlerFn` is never used
[INFO] [stdout]   --> src/net/router.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type HandlerFn = fn(Vec<u8, 512>) -> Result<Vec<u8, 512>>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Route` is never constructed
[INFO] [stdout]   --> src/net/router.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct Route {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Router` is never constructed
[INFO] [stdout]   --> src/net/router.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Router {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_route`, and `handle_message` are never used
[INFO] [stdout]   --> src/net/router.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Router {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 24 |     /// 创建新的路由器
[INFO] [stdout] 25 |     pub const fn new() -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn add_route(&mut self, cmd: u16, handler: HandlerFn) -> &mut Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn handle_message(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_handler` is never used
[INFO] [stdout]   --> src/net/router.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn example_handler(data: Vec<u8, 512>) -> Result<Vec<u8, 512>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RX_BUFFER_SIZE` is never used
[INFO] [stdout]  --> src/net/tcp_server.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const RX_BUFFER_SIZE: usize = 4096;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_BUFFER_SIZE` is never used
[INFO] [stdout]   --> src/net/tcp_server.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const TX_BUFFER_SIZE: usize = 4096;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TcpServerConfig` is never constructed
[INFO] [stdout]   --> src/net/tcp_server.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TcpServerConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TcpServer` is never constructed
[INFO] [stdout]   --> src/net/tcp_server.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TcpServer {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `start` are never used
[INFO] [stdout]   --> src/net/tcp_server.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl TcpServer {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 36 |     /// 创建新的 TCP 服务器
[INFO] [stdout] 37 |     pub const fn new(config: TcpServerConfig) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub async fn start<'d>(
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `read_timeout` is never read
[INFO] [stdout]   --> src/net/serial_transport.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SerialTransportConfig {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] 24 |     /// 读取超时
[INFO] [stdout] 25 |     pub read_timeout: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SerialTransportConfig` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CoinInsert`, `MotorStateChanged`, and `FaultDetected` are never constructed
[INFO] [stdout]   --> src/event.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Event {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     CoinInsert {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     MotorStateChanged {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     FaultDetected {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_button_event_proto` and `to_coin_event_proto` are never used
[INFO] [stdout]   --> src/event.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Event {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 46 |     /// 将按钮事件转换为 protobuf 消息
[INFO] [stdout] 47 |     pub fn to_button_event_proto(&self) -> Option<M1003Toc> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn to_coin_event_proto(&self) -> Option<M1004Toc> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `M1005Toc` is never constructed
[INFO] [stdout]   --> /opt/rustwide/target/debug/build/stm32-0574a7bb824520ab/out/coinpusher.v1.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct M1005Toc {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `M2002Tos` is never constructed
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/stm32-0574a7bb824520ab/out/coinpusher.v1.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct M2002Tos {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `M2005Tos` is never constructed
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/stm32-0574a7bb824520ab/out/coinpusher.v1.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct M2005Tos {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_button_press` is never used
[INFO] [stdout]  --> src/drivers/mock_button.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn simulate_button_press(button_id: u32, interval_secs: u64) -> ! {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockButtonDriver` is never constructed
[INFO] [stdout]   --> src/drivers/mock_button.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct MockButtonDriver {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_pressed` are never used
[INFO] [stdout]   --> src/drivers/mock_button.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl MockButtonDriver {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 26 |     pub const fn new(button_count: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn is_pressed(&self, button_id: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simulate_coin_insert` is never used
[INFO] [stdout]  --> src/drivers/mock_hw.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub async fn simulate_coin_insert(interval_secs: u64) -> ! {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockMotorDriver` is never constructed
[INFO] [stdout]   --> src/drivers/mock_hw.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MockMotorDriver {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `stop`, and `run_for_duration` are never used
[INFO] [stdout]   --> src/drivers/mock_hw.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl MockMotorDriver {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 23 |     pub const fn new(motor_id: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn start(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub async fn run_for_duration(&mut self, duration_ms: u32) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockLightDriver` is never constructed
[INFO] [stdout]   --> src/drivers/mock_hw.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct MockLightDriver {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `turn_on`, `turn_off`, and `set` are never used
[INFO] [stdout]   --> src/drivers/mock_hw.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl MockLightDriver {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 57 |     pub const fn new(light_id: u32) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn turn_on(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn turn_off(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn set(&mut self, on: bool) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f", kill_on_drop: false }`
[INFO] [stdout] c9f31042a5f06948dbf7e6be208232a37e67275b4d9830348e223455b44c812f
